package top.dreamcenter.rss.rsssolverprotocal;

import org.openqa.selenium.WebDriver;
import top.dreamcenter.rss.common.entity.RSS;

import java.util.Hashtable;

@RegisterSpider
public interface SpiderTemplate {

    /**
     * 获取路由地址，用来调用服务时的中间路由
     * @return 路由
     */
    String getRoute();

    /**
     * 设置自动任务cron表达式
     * @return
     */
    String getCron();

    /**
     * 配置参数
     * @param config
     */
    void setConfig(Hashtable<String, String> config);


    /**
     * 获取当前webdriver对象
     * @param driver driver
     */
    void setDriver(WebDriver driver);

    /**
     * 初始化cookies
     */
    void initCookies();

    /**
     * 执行层
     * @param key 关键词  =>  key = 用户唯一标识 = rss文件名称唯一标识
     * @param rss rss，该rss存在历史调用结果，用于特殊处理
     */
    void caller(String key, RSS rss);

}
